1. Field of the Invention
The present invention relates to electronic circuits and to electronic signals. More particularly, the present invention relates to measuring the times at which events occur in electronic signals.
2. Related Art
It is often desirable to detect and record the times at which events occur in an event stream. An event stream is an electronic signal having multiple events. The electronic signal having multiple events can be a single-ended signal or a differential signal. A single-ended signal consists of a single signal. In this case, the term event refers to a transition from a low level to a high level (i.e., a rising edge transition) or a transition from a high level to a low level (i.e., a falling edge transition). On the other hand, a differential signal consists of a pair of signals. The first signal is at a logic high level whenever the second signal is at a logic low level, and the first signal is at a logic low level whenever the second signal is at a logic high level. In this case, the term event refers to a transition from a high level to a low level on one signal and a simultaneous transition from a low level to a high level on the other signal. The time of this event is the moment when the voltages on the two signals are equal.
One situation where it is desirable to detect and record the times at which events occur in an event stream is while testing/debugging a semiconductor device. In this situation, a semiconductor device is electrically coupled to a tester. The tester is a machine that generates one or more test signals and provides the one or more test signals to one or more input terminals on the semiconductor device. The one or more test signals cause operations to occur in the semiconductor device and cause the semiconductor device to output one or more output signals or event streams. The event streams can then be analyzed by the tester to determine whether or not the semiconductor device is operating properly.
To detect and record the times at which events occur in an event stream, the event stream can be provided to a timestamp circuit, which generates a timestamp. A timestamp is a digital representation of the time at which an event occurs in an event stream. When the first event in the event stream occurs, the timestamp circuit generates a first timestamp for the first event thereby recording the time at which the first event occurs. When the second event in the event stream occurs, the timestamp circuit generates a second timestamp for the second event thereby recording the time at which the second event occurs. When the third event in the event stream occurs, the timestamp circuit generates a third timestamp for the third event thereby recording the time at which the first event occurs, and so on.
As used herein, a timestamp circuit is a circuit that is responsive to a reference clock and that creates a digital representation of the time at which an event occurs. The digital representation of the time at which an event occurs has two components. The first component is the specific clock cycle of the reference clock within which the event occurs. The second component is the time at which the event occurs within the specific clock cycle of the reference clock. Since each event is represented by the two components which are generated with respect to a reference clock, subsequent processing steps can easily determine timing relationships between each event which is useful when debugging/testing an integrated circuit device.
Timestamp circuits can generate timestamps for all of the events in an event stream well as long as the event rate in the event stream is relatively low (e.g., less than two events every 2.5 ns). However, when the event rate in the event stream is relatively high, as is the case with many event streams, timestamp circuits cannot record all of the events in the event stream. This is because a minimum period of time must elapse between consecutive events (e.g., 2.5 ns) for a timestamp circuit to correctly record consecutive events. One solution to this problem is to design a timestamp circuit that can record all of the events in the high event rate event streams. Unfortunately, such timestamp circuits cannot be designed using conventional semiconductor fabrication technologies or are too expensive to implement using conventional technologies.